/*
 * 描述： Account Segment (AC) Enum
 * 修改人： Weng.weng
 * 修改时间： 2025年1月20日
 * 项目： external-mock-server
 */
package com.aeasycredit.credit.tuef.constant;

/**
 * Account Segment (AC) Enum<br>
 * 
 * @author Weng.weng
 * @version [0.0.1, 2025年1月20日]
 */
public enum TuefAccountSegmentEnum implements TuefSegment {
    
    SEGMENT_TAG("AC","Segment Tag", "segmentTag"),
    
    ACCOUNT_NUMBER("01","Account Number", "accountNumber"),
    
    SUBSCRIBER_NAME("03","Subscriber Short Name or Generic Name", "subscriberName"),
    
    ACCOUNT_STATUS("04","Account Status", "accountStatus"),
    
    ACCOUNT_TYPE("05","Account Type", "accountType"),
    
    ACCOUNT_ASSOCIATION_CODE("06","Account Association Code", "accountAssociationCode"),
    
    CURRENCY_CODE("07","Currency Code", "currencyCode"),
    
    OPENED_DATE("08","Opened Date", "openedDate"),
    
    PAYMENT_AMOUNT("09","Payment Amount", "paymentAmount"),
    
    CLOSED_DATE("11","Closed Date", "closedDate"),
    
    DELINQUENT_SETTLED_DATE("12","Delinquent Settled Date", "delinquentSettledDate"),
    
    REPORTED_DATE("13","Reported Date", "reportedDate"),
    
    CREDIT_LIMIT_LOAN_AMOUNT("14","Credit Limit/ Loan Amount", "creditLimitLoanAmount"),
    
    INSTALLMENT_AMOUNT("15","Installment Amount", "installmentAmount"),
    
    OUTSTANDING_BALANCE("16","Outstanding Balance", "outstandingBalance"),
    
    PAST_DUE_DAYS_NUMBER("17","Number of Days Past Due", "pastDueDayNumber"),
    
    PAST_DUE_AMOUNT("18","Past Due Amount", "pastDueAmount"),
    
    TERMS("19","Terms", "terms"),
    
    EXPIRY_DATE("20","Expiry Date", "expiryDate"),
    
    ARRANGEMENT_DATE_SCHEME("21","Scheme of Arrangement (SOA) Date", "arrangementDateScheme"),
    
    SOA_INSTALLMENT_AMOUNT("22","SOA Installment Amount", "soaInstallmentAmount"),
    
    SOA_INSTALLMENT_NUMBER("23","SOA Number of Installments", "soaInstallmentNumber"),
    
    SOA_PAYMENT_FREQUENCY("24","SOA Payment Frequency", "soaPaymentFrequency"),
    
    INVESTIGATION_DATE("25","Investigation Date", "investigationDate"),
    
    MAX_PAST_DUE_AMOUNT("28","Maximum Past Due Amount", "maxPastDueAmount"),
    
    MAX_PAST_DUE_AMOUNT_DATE("29","Maximum Past Due Amount Date", "maxPastDueAmountDate"),
    
    MAX_PAST_DUE_DAYS("30","Maximum Days Past Due", "maxPastDueDays"),
    
    MAX_DAYS_PAST_DUE_DATE("31","Maximum Days Past Due Date", "maxDaysPastDueDate"),
    
    PAYMENT_HISTORY_ONE("32","Payment History 1", "paymentHistoryOne"),
    
    PAYMENT_HISTORY_TWO("33","Payment History 2", "paymentHistoryTwo"),
    
    PAYMENT_HISTORY_MOST_CUR_DATE("34","Payment History Most Current Date", "paymentHistoryMostCurDate"),
    
    LAST_UPDATE_DATE_OF_AMOUNT("35","Last Update Date of Account", "lastUpdateDateOfAccount"),
    
    INDIVIDUAL_COMMERCIAL("41","Individual/ Commercial", "individualCommercial"),
    
    DISPUTE("44","Dispute", "dispute"),
    
    SOA_TOTAL_AMOUNT("45","SOA Total Amount", "soaTotalAmount"),
    
    SOA_EXPIRY_DATE("46","SOA Expiry Date", "soaExpiryDate"),
    
    CARD_LOAN_AMOUNT("47","Card Loan Amount", "cardLoanAmount"),
    
    CARD_TERM_OUTSTANDING_BALANCE("48","Card Term Outstanding Balance", "cardTermOutstandingBalance");
    
    private String fieldTag;
    
    private String fieldName;
    
    private String javaFieldName;
    
    private TuefAccountSegmentEnum(String fieldTag, String fieldName, String javaFieldName) {
        this.fieldTag = fieldTag;
        this.fieldName = fieldName;
        this.javaFieldName = javaFieldName;
    }

    public String getFieldTag() {
        return fieldTag;
    }

    public String getFieldName() {
        return fieldName;
    }

    public String getJavaFieldName() {
        return javaFieldName;
    }
}
